﻿using BUGCOME.Model.Logs;
using BUGCOME.Model.Logs.Dto;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUGCOME.Service.Logs.IServices
{
    /// <summary>
    /// 短信验证码记录service接口 - 提供短信验证码相关的业务操作
    /// </summary>
    public interface ISmsCodeLogService : IBaseService<SmsCodeLog>
    {
        /// <summary>
        /// 异步获取短信验证码记录分页列表
        /// </summary>
        /// <param name="parm">查询条件参数</param>
        /// <returns>包含分页信息的短信验证码记录列表</returns>
        Task<PagedInfo<SmsCodeLogDto>> GetListAsync(SmscodeLogQueryDto parm);

        /// <summary>
        /// 异步获取单条短信验证码记录详情
        /// </summary>
        /// <param name="Id">记录ID</param>
        /// <returns>短信验证码记录实体</returns>
        Task<SmsCodeLog> GetInfoAsync(long Id);

        /// <summary>
        /// 异步添加新的短信验证码记录
        /// </summary>
        /// <param name="parm">待添加的短信验证码记录实体</param>
        /// <returns>添加成功后的短信验证码记录实体（包含新生成的ID）</returns>
        Task<SmsCodeLog> AddSmscodeLogAsync(SmsCodeLog parm);
    }
}
